package com.hospital.new_yygh.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hospital.new_yygh.entity.other.Sche;
import com.hospital.new_yygh.mapper.ScheMapper;
import com.hospital.new_yygh.service.ScheService;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.springframework.stereotype.Service;

import java.util.*;

@Service
public class ScheServiceImpl extends ServiceImpl<ScheMapper, Sche> implements ScheService {

    /*@Override
    public Map<String, Object> getBookingScheduleRule(int page, int limit, String ksId) {
        Map<String,Object> result = new HashMap<>();
        //设置预约规则

        //获取可预约日期的数据(分页显示)
        IPage iPage = this.getListDate(page,limit);
        //当前可预约的日期
        List<Date> dateList = iPage.getRecords();

        //获取可预约日期里面科室的剩余预约数
        QueryWrapper<Sche> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("ksId",ksId)
                .in("workDate",dateList);
        Page<Sche> pageSche = scheService.page(page, wrapper);

        return null;
    }*/

    //获取可预约日期的数据
    /*private IPage getListDate(int page,int limit){
        //设置放号时间 年 月 日 小时 分钟 每天八点放号
        DateTime releaseTime = this.getDateTime(new Date(),"08:00");
        //设置预约周期 （10天）
        Integer cycle = 10;
        //获取可预约所有日期，最后一天显示即将放号
        List<Date> dateList = new ArrayList<>();
        for (int i=0;i<cycle;i++){
            DateTime curDateTime = new DateTime().plusDays(i);
            String dateString = curDateTime.toString("yyyy-MM-dd");
            dateList.add(new DateTime(dateString).toDate());
        }
        //因为预约周期不同，每页显示日期最多7天，超过7天分页处理
        List<Date> pageDateList = new ArrayList<>();
        int start = (page-1)*limit;
        int end = (page-1)*limit+limit;
        //如果可以显示的数据小于7，直接显示
        *//*if(end > dateList.size()){
            end = dateList.size();
        }
        for (int i = start; i < end; i++) {
            pageDateList.add(dateList.get(i));
        }*//*
        //如果可以显示的数据大于7，直接显示
        IPage<Date> iPage = new Page<>(page,7,dateList.size());
        iPage.setRecords(pageDateList);
        return iPage;
    }*/

    //将Date日期(yyyy-MM-dd HH:mm)转换为DateTime
   /* private DateTime getDateTime(Date date, String timeString){
        String dateTimeString = new DateTime(date).toString("yyyy-MM-dd")+" "+timeString;
        DateTime dateTime = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm").parseDateTime(dateTimeString);
        return dateTime;
    }*/
}
